Over the last ten years there has been increasing consensus within the knowledge-based systems community on an appropriate set of conceptual components for building intelligent systems. These systems are commonly defined in terms of both domain ontologies and abstract problem solving methods that operate on the knowledge bases constructed in terms of those ontologies.
An ontology is an explicit, formal specification of the terminology and concepts, as well as the relationships among those concepts, relevant to a particular domain or area of interest. Ontologies provide insight into the nature of information particular to a given field and are essential to any attempts to arrive at a shared understanding of the relevant concepts. They may be specified at various levels of complexity and formality depending on the domain and needs of the participants in a given conversation.
Ontology development is important from a collaboration and software interoperability perspective because every database and application employs an ontology to model its data, either implicitly or explicitly. Emerging applications in collaboration, application integration, web services, and content management require large, complex ontologies that must be built and maintained by distributed teams. Despite the increased focus on the creation, management and use of complex ontologies in intelligent knowledge-based systems, there is little or no consensus regarding the requirements for tools to enable the construction of such knowledge-based systems and the ontologies they use.
While a significant body of work on frame-based knowledge representation and ontologies exists in the academic community, little has been done to foster adoption of these concepts or their usage in commercial applications. The ontology editors that exist today are based heavily on research in the Knowledge Interchange Format (“KIF”) and knowledge representation languages descended from KL-ONE. Most of these tools, including Ontolingua, Chimaera, Protégé, OilEd, and LOOM are little known outside the artificial intelligence research community. Many of the tools require significant expertise in the relevant knowledge representation language and modeling methodology, and in many cases require the ontologist to have a background in computer programming languages such as LISP or Prolog. Because these tools have not had the benefit of commercial investment, most, if not all, are single-user tools. None are integrated with software engineering or configuration management tools, and the majority are only supported as funding permits. Furthermore, none of the tools scale to the degree required for the construction of large-scale bioinformatics or other equally complex and sizable ontologies.
Domain experts with little or no background in knowledge representation methods need tools that will enable them to develop knowledge bases and related intelligent systems. The tools must also provide capabilities for directly importing knowledge not only from formal knowledge bases but also from reference vocabularies, other repositories, and relevant applications. The portions of knowledge bases that are imported from disparate resources then need to be merged or aligned to one another in order to link the corresponding terms, to remove redundancies, and to resolve conflicts. Because such ontologies can be difficult even for experts to build, the need for a new generation of commercial-grade tools supporting knowledge sharing and collaborative ontology development is becoming increasingly urgent.